package com.evan.webadmin.biz.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.evan.common.core.object.ResponseResult;
import com.evan.webadmin.biz.dto.SubjectEditDto;
import com.evan.webadmin.biz.dto.SubjectFilter;
import com.evan.webadmin.biz.model.Subject;
import com.evan.webadmin.biz.vo.EvluateSurveyVO;
import com.evan.webadmin.biz.vo.ExamPaperFrontVO;
import com.evan.webadmin.biz.vo.SubjectFrontVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Pavel
 * @since 2024-06-09
 */
public interface ISubjectService extends IService<Subject> {

    //题目列表 根据人员类型 题目类型 模块类型 题目名称搜素
    List<Subject> findByCondition(Integer personnelType, Integer moduleType, Integer subjectType, Integer sceneType, String subjectTitle, Integer subjectLevel);

    void edit(SubjectEditDto subjectEditDto);

    void delete(Long subjectId);

    ResponseResult importData(MultipartFile file, Integer personnelType, Integer moduleType);

    Subject findById(Long subjectId);

    ExamPaperFrontVO findByFront(SubjectFilter subjectFilter);

    List<Subject> list(Integer personnelType, Integer moduleType, Integer sceneType);

    List<Subject> findPageByFront(SubjectFilter subjectFilter);

    List<SubjectFrontVo> assemblyFront(List<Subject> subjects);

    SubjectFrontVo findFrontBySubjectId(Long subjectId);

    EvluateSurveyVO findSurveyByFront(SubjectFilter subjectFilter);

    void logicDelete(Long subjectId, Integer moduleType);
}
